package dao;


import java.util.List;

import javax.persistence.EntityManager;
import javax.swing.JOptionPane;

import bean.Horarios;
import javax.persistence.Query;


public class HorariosDao {

        
	       
    public void salvarHorario(Horarios horario) {
        
        EntityManager em = FabricaConexao.getConexao().createEntityManager();

        try {
            em.getTransaction().begin();
            Horarios h = em.find(Horarios.class, horario.getCodHorario());
            if (!horario.equals(h)) {
                em.persist(horario);
                JOptionPane.showMessageDialog(null,
                        "Horário cadastrado com sucesso");

            } else {
                em.merge(horario);
                JOptionPane.showMessageDialog(null,
                        "Horário alterado com sucesso");
            }

            em.getTransaction().commit();

        } finally {
            em.close();

        }

    }

    public void excluirHorario(int id) {

        EntityManager em = FabricaConexao.getConexao().createEntityManager();
        
        try {
            em.getTransaction().begin();
            Horarios horario = em.find(Horarios.class, id);
            if(horario==null){
                JOptionPane.showMessageDialog(null,
                    "Registro não cadastrado no banco");
            }else{
                
            
            em.remove(horario);
            em.getTransaction().commit();
            JOptionPane.showMessageDialog(null,
                    "Exclusão realizada com sucesso");
}
        } finally {
            em.close();
        }
     
    }

    public List<Horarios> listarHorarios() {

        EntityManager em = FabricaConexao.getConexao().createEntityManager();
        List<Horarios> lista;
        Query query = em.createQuery("select h from Horarios h");
        lista = query.getResultList();
        return lista;
    }
    
   
        
    
}
